Spring Boot একটি জনপ্রিয় Java ফ্রেমওয়ার্ক যা দ্রুত এবং সহজে ওয়েব অ্যাপ্লিকেশন এবং মাইক্রোসার্ভিস তৈরি করতে সহায়তা করে। H2 ডেটাবেজকে Spring Boot প্রজেক্টে ব্যবহার করা খুবই সহজ, কারণ Spring Boot অনেক বিল্ট-ইন কনফিগারেশন এবং ডিফল্ট সেটআপ সরবরাহ করে, যা আপনাকে H2 ডেটাবেজ ইন্টিগ্রেট করতে সাহায্য করে। এখানে আমরা দেখব কিভাবে একটি Spring Boot প্রজেক্টে H2 ডেটাবেজ ইন্টিগ্রেট করা যায় এবং ব্যবহার করা যায়।
প্রথমে, আপনি Spring Boot প্রজেক্ট তৈরি করুন। আপনি Spring Initializr ব্যবহার করে সহজেই একটি Spring Boot প্রজেক্ট তৈরি করতে পারেন। প্রজেক্ট তৈরি করার সময় নিচের ডিপেনডেন্সি যোগ করুন:
এর পর, "Generate" বাটনে ক্লিক করুন এবং আপনার প্রজেক্ট ডাউনলোড করুন। তারপর এটি আপনার IDE (যেমন IntelliJ IDEA বা Eclipse) এ ওপেন করুন।
application.properties
কনফিগারেশনSpring Boot প্রজেক্টে H2 ডেটাবেজ কনফিগার করার জন্য application.properties
ফাইলে কিছু কনফিগারেশন যোগ করতে হবে।
# H2 Database Configuration
spring.datasource.url=jdbc:h2:mem:testdb # ইন-মেমরি ডেটাবেজ
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
# Hibernate Configuration
spring.jpa.hibernate.ddl-auto=update # ডেটাবেজ স্কিমা আপডেট হবে
# H2 Console Configuration
spring.h2.console.enabled=true # H2 Console অ্যাক্সেস করতে পারবেন
spring.h2.console.path=/h2-console # H2 Console এর URL path
spring.datasource.url=jdbc:h2:mem:testdb
: এটি ইন-মেমরি ডেটাবেজ ব্যবহার করবে। অর্থাৎ ডেটাবেজটি শুধুমাত্র রান টাইমে থাকবে এবং প্রোগ্রাম বন্ধ হলে ডেটা মুছে যাবে।spring.h2.console.enabled=true
: এটি H2 Console সক্ষম করবে, যাতে আপনি আপনার ডেটাবেজটি একটি ওয়েব ব্রাউজারে দেখতে পারেন।spring.jpa.hibernate.ddl-auto=update
: Hibernate ব্যবহার করে ডেটাবেজ স্কিমা স্বয়ংক্রিয়ভাবে আপডেট হবে।Spring Data JPA ব্যবহার করতে হলে আপনাকে একটি Entity ক্লাস তৈরি করতে হবে, যা ডেটাবেজ টেবিলের সাথে ম্যাপ হবে।
package com.example.demo.model;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Employee {
@Id
private Long id;
private String name;
private String department;
// Getters and Setters
public Employee() {}
public Employee(Long id, String name, String department) {
this.id = id;
this.name = name;
this.department = department;
}
// Getters and Setters
}
এটি একটি Employee টেবিলের জন্য Entity ক্লাস। এখানে @Entity
অ্যানোটেশন ব্যবহার করা হয়েছে যাতে এটি JPA Entity হিসেবে কাজ করে।
এখন আপনাকে একটি Repository তৈরি করতে হবে, যা H2 ডেটাবেজের সাথে ইন্টারঅ্যাক্ট করবে। Spring Data JPA ব্যবহার করে এটি অনেক সহজ।
package com.example.demo.repository;
import com.example.demo.model.Employee;
import org.springframework.data.jpa.repository.JpaRepository;
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
// Custom queries can be defined here if needed
}
এটি JpaRepository এক্সটেন্ড করেছে, যার মাধ্যমে আপনি ডেটাবেজে CRUD অপারেশন করতে পারবেন।
এখন একটি Service ক্লাস তৈরি করা হবে, যা EmployeeRepository এর মাধ্যমে ডেটাবেজ অপারেশন করবে।
package com.example.demo.service;
import com.example.demo.model.Employee;
import com.example.demo.repository.EmployeeRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class EmployeeService {
@Autowired
private EmployeeRepository employeeRepository;
// Get all employees
public List<Employee> getAllEmployees() {
return employeeRepository.findAll();
}
// Save employee
public Employee saveEmployee(Employee employee) {
return employeeRepository.save(employee);
}
}
এটি একটি সিম্পল Service ক্লাস যেখানে getAllEmployees
এবং saveEmployee
মেথড রয়েছে, যা ডেটাবেজ থেকে সমস্ত কর্মচারী তথ্য নিয়ে আসে এবং নতুন কর্মচারী সংরক্ষণ করে।
এখন একটি Controller তৈরি করা হবে, যা HTTP রিকোয়েস্ট হ্যান্ডেল করবে।
package com.example.demo.controller;
import com.example.demo.model.Employee;
import com.example.demo.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/employees")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
// Get all employees
@GetMapping
public List<Employee> getAllEmployees() {
return employeeService.getAllEmployees();
}
// Add a new employee
@PostMapping
public Employee addEmployee(@RequestBody Employee employee) {
return employeeService.saveEmployee(employee);
}
}
এটি একটি REST Controller যেখানে GET
এবং POST
রিকোয়েস্ট হ্যান্ডেল করা হচ্ছে:
/api/employees
: সমস্ত কর্মচারী তথ্য নিয়ে আসে।/api/employees
: নতুন কর্মচারী ডেটাবেজে ইনসার্ট করে।আপনি Spring Boot প্রজেক্ট চালানোর পর H2 Console অ্যাক্সেস করতে পারবেন। আপনার ব্রাউজারে http://localhost:8082/h2-console URL তে যান। আপনি jdbc:h2:mem:testdb
ব্যবহার করে লগইন করতে পারবেন এবং ডেটাবেজ দেখতে পারবেন।
সবশেষে, Spring Boot অ্যাপ্লিকেশন চালাতে আপনার DemoApplication.java
ক্লাসে main
মেথড কল করুন:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
এখন Spring Boot অ্যাপ্লিকেশন রান করুন এবং আপনি H2 Database ব্যবহার করে আপনার ডেটাবেজ পরিচালনা করতে পারবেন।
এটি ছিল Spring Boot প্রজেক্টে H2 ডেটাবেজ ইন্টিগ্রেশন করার একটি সিম্পল উদাহরণ। H2 ডেটাবেজ Spring Boot এর সাথে সহজেই একীভূত হতে পারে এবং এর ব্যবহার সহজ এবং দ্রুত। আপনি ডেটাবেজ কনফিগারেশন, Entity ক্লাস, Repository, Service এবং Controller তৈরি করে Spring Boot প্রজেক্টে H2 ডেটাবেজের সাথে কাজ করতে পারেন। H2 Console আপনাকে ডেটাবেজের সমস্ত তথ্য দেখতে এবং পরিচালনা করতে সহায়তা করবে।
common.read_more